Network services, such as DNS, DHCP, and SNMP, are associated with processes that need to be managed and scheduled. For example, certain processes may be configured to start when the system boots up or restart when related configuration information changes. Typically, the timing and conditions of the execution of the processes are programmed in hard-coded shell scripts written specifically for each service. Such an approach is inflexible to future changes and difficult to scale. It would be desirable to have a more flexible and scalable way to manage processes.